package com.med.mapper;


import com.med.entity.DepartmentDO;
import com.med.entity.DoctorDO;
import com.med.vo.AddDoctorVO;
import com.med.vo.QueryDoctorVO;
import com.med.vo.UpdateDoctorVO;
import com.ruoyi.system.api.domain.SysUser;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @BelongsProject: Internet-based-healthcare
 * @BelongsPackage: com.med.mapper
 * @Author: 小龚
 * @CreateTime: 2025-08-17 11:13
 * @Description: TODO
 * @Version: 1.0
 */
@Mapper
public interface DoctorMapper {


    // 获取搜索条件中的所属科室菜单
    List<DepartmentDO> getDepartmentOptions();


    // 查询医生
    List<DoctorDO> getDoctorList(@Param("vo") QueryDoctorVO vo, @Param("departmentId") Integer departmentId);

    // 修改医生状态
    Integer updateDoctorStatus(Integer doctorId);

    // 修改管理员状态
    Integer updateUserStatus(Integer doctorAdminId);

    // 删除医生
    Integer deleteDoctor(Integer doctorId);

    // 新增医生
    Integer addDoctor(@Param("vo") AddDoctorVO vo, @Param("doctorDepartmentId") Integer doctorDepartmentId);

    // 新增管理员
    Integer addUser(@Param("sysUser") SysUser sysUser);

    // 给管理员分配角色
    Integer assignRoles(@Param("userId") Long userId);

    // 修改医生
    Integer updateDoctor(@Param("vo") UpdateDoctorVO vo, @Param("doctorDepartmentId") Integer doctorDepartmentId);
}
